Programming and control systems are generally used for controlling processes that involve devices such as relays, solenoids, motors, valves, switches, and other electrical and electromechanical devices. The processes that are controlled include machining, drilling, welding, spraying paint, mixing materials, assembling parts, handling materials, and other similar processes.
Conventional programming and control systems generally employed ladder diagrams and relay ladder logic (RLL) to control the operation of the devices that are associated with the processes. In practice, however, programmers tend to use a flowchart to initially define the operation of the devices in the process. Then, the programmers manually translated the flowchart into the ladder diagrams. The programmers employ the flowcharts as a first step because the flowcharts emulate human thought processes whereas the ladder diagrams do not. Subsequently, developers created programming and control systems that control the process directly from the flowchart logic. One flowchart-based system is disclosed in “Continuous Flowchart, Improved Data Format and Debugging System For Programming and Operation of Machines”, U.S. Pat. No. 4,852,047, which is hereby incorporated by reference.
Flowcharts generally include action blocks that represent an operation or action based on current input and output data. Action blocks generally have one entry point that is usually located at the top and one exit point that is usually located at the bottom. A branching or decision block is a diamond-shaped block that represents a branch in the control path based on the results of a decision. Decision blocks generally have one entry point that is usually located at the top and two exit points that are usually located at the side and the bottom. Using combinations of the action and decision blocks, a programmer creates a flowchart that controls one or more devices that are associated with a process.
Even though the flowchart object code functions correctly, there are other problems that should be diagnosed quickly to maximize process output. For example, in a material handling process, a continuous material supply may stop supplying material. If the process runs continuously, it can be several hours before an operator notices.